using System;
using System.Collections.Generic;
using System.Text;

namespace PSE.Hosting.Management.Common
{
    [Serializable]
    public class ServiceData
    {
        private string _name;

        /// <summary>
        /// The name of the WCF Service.
        /// </summary>
        public string Name
        {
            get { return _name; }
            set { _name = value; }
        }

        private bool _isAlive;

        /// <summary>
        /// Flag indicating if the WCF Service is alive.
        /// </summary>
        public bool IsAlive
        {
            get { return _isAlive; }
            set { _isAlive = value; }
        }

        private string _userName;

        /// <summary>
        /// The user name to load the assembly.
        /// </summary>
        public string UserName
        {
            get { return _userName; }
            set { _userName = value; }
        }

        private string _assembly;

        /// <summary>
        /// The name of the assembly where the WCF Service resides.
        /// </summary>
        public string Assembly
        {
            get { return _assembly; }
            set { _assembly = value; }
        }

        private string _codeBase;

        /// <summary>
        /// The full path of the assembly.
        /// </summary>
        public string CodeBase
        {
            get { return _codeBase; }
            set { _codeBase = value; }
        }

        private string _mexAddress;

        /// <summary>
        /// The Metadata Exchange address of the WCF Service.
        /// </summary>
        public string MexAddress
        {
            get { return _mexAddress; }
            set { _mexAddress = value; }
        }

        private bool _isValid;

        /// <summary>
        /// Flag indicating if it is a valid WCF Service Address.
        /// </summary>
        public bool IsValid
        {
            get { return _isValid; }
            set { _isValid = value; }
        }
    }
}
